//  范围随机数：
function random(min,max){
    if(min > max){
        var ls = min;
        min = max;
        max = ls;
    }
    return Math.floor(Math.random() * (max-min+1)) + min;
}

//补零：
function createZero(n){
    if(typeof n === "string"){
        if(n.length < 2){
            return "0" + n
        }
        return n;
    }else{
        if(n<10){
            return "0"+n;
        }
        return n;
    }
}


//随机颜色：
function createZero(n){
    if(n.length < 2){
        return "0" + n
    }
    return n;
}
// createZero(十六进制)

function randomColor(){
    var r = random(0,255).toString(16);
    var g = random(0,255).toString(16);
    var b = random(0,255).toString(16);

    return "#" + createZero(r) + createZero(g) + createZero(b);
}


//取数组的最大值：

function getMax(abc){
    // 1.要深拷贝数组
    abc = abc.slice(0);
    // 2.排序（升序第一个值是最小值，降序第一个值是最大值）
    abc.sort(function(a,b){return b-a});
    // 3.返回第一个值
    return abc[0];
}


//取数组最小值：
function getMin(qwe){
    return qwe.slice(0).sort(function(a,b){return a-b})[0];
}



// 计算两个日期之间的差值
function dateDiff(d1,d2){
    var date1 = new Date(d1);

    var date2 = d2 ? new Date(d2) : new Date();

    var t = Math.abs(date1.getTime() - date2.getTime());

    var day = parseInt(t/1000/60/60/24);
    var h = parseInt((t - day*24*60*60*1000)/1000/60/60);
    var m = parseInt((t - day*24*60*60*1000 - h*60*60*1000)/1000/60);
    var s = parseInt((t - day*24*60*60*1000 - h*60*60*1000 - m*60*1000)/1000)
    var ms = t - day*24*60*60*1000 - h*60*60*1000 - m*60*1000 - s*1000;
    
    return {
        day:day,
        h:h,
        m:m,
        s:s,
        ms:ms
    }
}

// 日期的格式化
function createDate(){
    var d = new Date();
    var year = d.getFullYear();
    var month = d.getMonth() + 1;
    var myDate = d.getDate();
    var day = d.getDay();
    var hours = d.getHours();
    var minutes = d.getMinutes();
    var seconds = d.getSeconds();
    var millS = d.getMilliseconds();
    switch(day){
        case 0:day = "日";break;
        case 1:day = "一";break;
        case 2:day = "二";break;
        case 3:day = "三";break;
        case 4:day = "四";break;
        case 5:day = "五";break;
        case 6:day = "六";break;
    }
    return {
        year:year,
        month:createZero(month),
        date:createZero(myDate),
        day:day,
        hours:createZero(hours),
        minutes:createZero(minutes),
        seconds:createZero(seconds),
        millS:millS
    };
}


// 获取样式的兼容处理
function getStyle(ele,attr){
    if(ele.currentStyle){
        return ele.currentStyle[attr];
    }else{
        return getComputedStyle(ele, false)[attr];
    }
}


//取消事件冒泡，注意别忘记传参：
function stopBubble(e){
    if(e.stopPropagation){
        e.stopPropagation();
    }else{
        e.cancelBubble = true;
    }
}


//阻止默认事件，注意别忘记传参：
function stopDefault(e){
    if(e.preventDefault){
        e.preventDefault()
    }else{
        e.returnValue = false;
    }
}

//监听式事件绑定的封装：
function addEvent(ele,type,cb){
    if(ele.addEventListener){
        ele.addEventListener(type,cb)
    }else if(ele,attachEvent){
        ele.attachEvent("on"+type,cb)
    }else{
        ele["on"+type] = cb;
    }
}

//监听式事件删除的封装：
function removeEvent(ele,type,cb){
    if(ele.romoveEventListener){
        ele.romoveEventListener(type,cb)
    }else if(ele,detachEvent){
        ele.detachEvent("on"+type,cb)
    }else{
        ele["on"+type] = cb;
    }
}


//  obox.onclick = eveEnt(items, function(){
    //当前的this已经被改变了，指向事件目标
//      console.log(this);
//  })


//事件委托的封装：
function eveEnt(child,cb){
    return function(eve){
        var e = eve || window.event;
        var tar = e.target || e.srcElement;
        for(var i=0;i<child.length;i++){
            if(child[i] === tar){
                cb.call(tar);
            }
        }
    }
}